<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>GoogleCodingConvention (Closure Compiler)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="GoogleCodingConvention (Closure Compiler)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/google/javascript/jscomp/FunctionInformationMapOrBuilder.html" title="interface in com.google.javascript.jscomp"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../com/google/javascript/jscomp/GoogleJsMessageIdGenerator.html" title="class in com.google.javascript.jscomp"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/google/javascript/jscomp/GoogleCodingConvention.html" target="_top">Frames</a></li>
<li><a href="GoogleCodingConvention.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_com.google.javascript.jscomp.CodingConventions.Proxy">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">com.google.javascript.jscomp</div>
<h2 title="Class GoogleCodingConvention" class="title">Class GoogleCodingConvention</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">com.google.javascript.jscomp.CodingConventions.Proxy</a></li>
<li>
<ul class="inheritance">
<li>com.google.javascript.jscomp.GoogleCodingConvention</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a>, java.io.Serializable</dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">GoogleCodingConvention</span>
extends <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></pre>
<div class="block">This describes the Google-specific JavaScript coding conventions.
 Within Google, variable names are semantically significant.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../serialized-form.html#com.google.javascript.jscomp.GoogleCodingConvention">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested_class_summary">
<!--   -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested_classes_inherited_from_class_com.google.javascript.jscomp.CodingConvention">
<!--   -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;com.google.javascript.jscomp.<a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></h3>
<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.AssertionFunctionSpec.html" title="class in com.google.javascript.jscomp">CodingConvention.AssertionFunctionSpec</a>, <a href="../../../../com/google/javascript/jscomp/CodingConvention.Bind.html" title="class in com.google.javascript.jscomp">CodingConvention.Bind</a>, <a href="../../../../com/google/javascript/jscomp/CodingConvention.DelegateRelationship.html" title="class in com.google.javascript.jscomp">CodingConvention.DelegateRelationship</a>, <a href="../../../../com/google/javascript/jscomp/CodingConvention.ObjectLiteralCast.html" title="class in com.google.javascript.jscomp">CodingConvention.ObjectLiteralCast</a>, <a href="../../../../com/google/javascript/jscomp/CodingConvention.SubclassRelationship.html" title="class in com.google.javascript.jscomp">CodingConvention.SubclassRelationship</a>, <a href="../../../../com/google/javascript/jscomp/CodingConvention.SubclassType.html" title="enum in com.google.javascript.jscomp">CodingConvention.SubclassType</a></code></li>
</ul>
</li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_com.google.javascript.jscomp.CodingConventions.Proxy">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;com.google.javascript.jscomp.<a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></h3>
<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#nextConvention">nextConvention</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../com/google/javascript/jscomp/GoogleCodingConvention.html#GoogleCodingConvention()">GoogleCodingConvention</a></strong>()</code>
<div class="block">By default, decorate the ClosureCodingConvention.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../com/google/javascript/jscomp/GoogleCodingConvention.html#GoogleCodingConvention(com.google.javascript.jscomp.CodingConvention)">GoogleCodingConvention</a></strong>(<a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a>&nbsp;convention)</code>
<div class="block">Decorates a wrapped CodingConvention.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/GoogleCodingConvention.html#isConstant(java.lang.String)">isConstant</a></strong>(java.lang.String&nbsp;name)</code>
<div class="block">This checks whether a given variable name, such as a name in all-caps
 should be treated as if it had the @const annotation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/GoogleCodingConvention.html#isConstantKey(java.lang.String)">isConstantKey</a></strong>(java.lang.String&nbsp;name)</code>
<div class="block">This checks whether a given key of an object literal, such as a
 name in all-caps should be treated as if it had the @const
 annotation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/GoogleCodingConvention.html#isExported(java.lang.String, boolean)">isExported</a></strong>(java.lang.String&nbsp;name,
          boolean&nbsp;local)</code>
<div class="block">Checks whether a global variable or function name should be treated as
 exported, or externally referenceable.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/GoogleCodingConvention.html#isOptionalParameter(com.google.javascript.rhino.Node)">isOptionalParameter</a></strong>(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;parameter)</code>
<div class="block">This checks whether a given parameter name should be treated as an
 optional parameter as far as type checking or function call arg count
 checking is concerned.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/GoogleCodingConvention.html#isPrivate(java.lang.String)">isPrivate</a></strong>(java.lang.String&nbsp;name)</code>
<div class="block">Checks whether a name should be considered private.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/GoogleCodingConvention.html#isValidEnumKey(java.lang.String)">isValidEnumKey</a></strong>(java.lang.String&nbsp;key)</code>
<div class="block">This checks that a given <code>key</code> may be used as a key for an enum.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../com/google/javascript/jscomp/GoogleCodingConvention.html#isVarArgsParameter(com.google.javascript.rhino.Node)">isVarArgsParameter</a></strong>(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;parameter)</code>
<div class="block">This checks whether a given parameter should be treated as a marker
 for a variable argument list function.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_com.google.javascript.jscomp.CodingConventions.Proxy">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;com.google.javascript.jscomp.<a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></h3>
<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#applyDelegateRelationship(com.google.javascript.rhino.jstype.ObjectType, com.google.javascript.rhino.jstype.ObjectType, com.google.javascript.rhino.jstype.ObjectType, com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.FunctionType)">applyDelegateRelationship</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#applySingletonGetter(com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.ObjectType)">applySingletonGetter</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#applySubclassRelationship(com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.rhino.jstype.FunctionType, com.google.javascript.jscomp.CodingConvention.SubclassType)">applySubclassRelationship</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#checkForCallingConventionDefiningCalls(com.google.javascript.rhino.Node, java.util.Map)">checkForCallingConventionDefiningCalls</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#defineDelegateProxyPrototypeProperties(com.google.javascript.rhino.jstype.JSTypeRegistry, com.google.javascript.rhino.jstype.StaticScope, java.util.List, java.util.Map)">defineDelegateProxyPrototypeProperties</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#describeFunctionBind(com.google.javascript.rhino.Node)">describeFunctionBind</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#describeFunctionBind(com.google.javascript.rhino.Node, boolean)">describeFunctionBind</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#extractClassNameIfProvide(com.google.javascript.rhino.Node, com.google.javascript.rhino.Node)">extractClassNameIfProvide</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#extractClassNameIfRequire(com.google.javascript.rhino.Node, com.google.javascript.rhino.Node)">extractClassNameIfRequire</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getAbstractMethodName()">getAbstractMethodName</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getAssertionFunctions()">getAssertionFunctions</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getClassesDefinedByCall(com.google.javascript.rhino.Node)">getClassesDefinedByCall</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getDelegateRelationship(com.google.javascript.rhino.Node)">getDelegateRelationship</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getDelegateSuperclassName()">getDelegateSuperclassName</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getExportPropertyFunction()">getExportPropertyFunction</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getExportSymbolFunction()">getExportSymbolFunction</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getGlobalObject()">getGlobalObject</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getIndirectlyDeclaredProperties()">getIndirectlyDeclaredProperties</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getObjectLiteralCast(com.google.javascript.rhino.Node)">getObjectLiteralCast</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#getSingletonGetterClassName(com.google.javascript.rhino.Node)">getSingletonGetterClassName</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#identifyTypeDeclarationCall(com.google.javascript.rhino.Node)">identifyTypeDeclarationCall</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isExported(java.lang.String)">isExported</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isInlinableFunction(com.google.javascript.rhino.Node)">isInlinableFunction</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isPropertyTestFunction(com.google.javascript.rhino.Node)">isPropertyTestFunction</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isPrototypeAlias(com.google.javascript.rhino.Node)">isPrototypeAlias</a>, <a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isSuperClassReference(java.lang.String)">isSuperClassReference</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="GoogleCodingConvention()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>GoogleCodingConvention</h4>
<pre>public&nbsp;GoogleCodingConvention()</pre>
<div class="block">By default, decorate the ClosureCodingConvention.</div>
</li>
</ul>
<a name="GoogleCodingConvention(com.google.javascript.jscomp.CodingConvention)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>GoogleCodingConvention</h4>
<pre>public&nbsp;GoogleCodingConvention(<a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a>&nbsp;convention)</pre>
<div class="block">Decorates a wrapped CodingConvention.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="isConstant(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isConstant</h4>
<pre>public&nbsp;boolean&nbsp;isConstant(java.lang.String&nbsp;name)</pre>
<div class="block">This checks whether a given variable name, such as a name in all-caps
 should be treated as if it had the @const annotation.

 <p>This enforces the Google const name convention, that the first character
 after the last $ must be an upper-case letter and all subsequent letters
 must be upper case. The name must be at least 2 characters long.

 <p>Examples:
 <pre>
      aaa          Not constant - lower-case letters in the name
      A            Not constant - too short
      goog$A       Constant - letters after the $ are upper-case.
      AA17         Constant - digits can appear after the first letter
      goog$7A      Not constant - first character after the $ must be
                   upper case.
      $A           Constant - doesn't have to be anything in front of the $
 </pre></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isConstant(java.lang.String)">isConstant</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isConstant(java.lang.String)">isConstant</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - potentially constant variable name</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the name should be treated as a constant.</dd></dl>
</li>
</ul>
<a name="isConstantKey(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isConstantKey</h4>
<pre>public&nbsp;boolean&nbsp;isConstantKey(java.lang.String&nbsp;name)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isConstantKey(java.lang.String)">CodingConvention</a></code></strong></div>
<div class="block">This checks whether a given key of an object literal, such as a
 name in all-caps should be treated as if it had the @const
 annotation.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isConstantKey(java.lang.String)">isConstantKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isConstantKey(java.lang.String)">isConstantKey</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
</dl>
</li>
</ul>
<a name="isValidEnumKey(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isValidEnumKey</h4>
<pre>public&nbsp;boolean&nbsp;isValidEnumKey(java.lang.String&nbsp;key)</pre>
<div class="block">This checks that a given <code>key</code> may be used as a key for an enum.

 <p>This enforces Google's convention about enum key names. They must match
 the regular expression <code>[A-Z0-9][A-Z0-9_]*</code>.

 <p>Examples:
 <ul>
 <li>A</li>
 <li>213</li>
 <li>FOO_BAR</li>
 </ul></div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isValidEnumKey(java.lang.String)">isValidEnumKey</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isValidEnumKey(java.lang.String)">isValidEnumKey</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>key</code> - the potential key to an enum</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the <code>key</code> may be used as an enum key,
     <code>false</code> otherwise</dd></dl>
</li>
</ul>
<a name="isOptionalParameter(com.google.javascript.rhino.Node)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isOptionalParameter</h4>
<pre>public&nbsp;boolean&nbsp;isOptionalParameter(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;parameter)</pre>
<div class="block">This checks whether a given parameter name should be treated as an
 optional parameter as far as type checking or function call arg count
 checking is concerned. Note that an optional function parameter may be
 declared as a simple type and is automatically converted to a union of the
 declared type and Undefined.

 <p>In Google code, parameter names beginning with <code>opt_</code> are
 treated as optional arguments.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isOptionalParameter(com.google.javascript.rhino.Node)">isOptionalParameter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isOptionalParameter(com.google.javascript.rhino.Node)">isOptionalParameter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>parameter</code> - The parameter's node.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the parameter should be treated as an optional
 parameter.</dd></dl>
</li>
</ul>
<a name="isVarArgsParameter(com.google.javascript.rhino.Node)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isVarArgsParameter</h4>
<pre>public&nbsp;boolean&nbsp;isVarArgsParameter(<a href="../../../../com/google/javascript/rhino/Node.html" title="class in com.google.javascript.rhino">Node</a>&nbsp;parameter)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isVarArgsParameter(com.google.javascript.rhino.Node)">CodingConvention</a></code></strong></div>
<div class="block">This checks whether a given parameter should be treated as a marker
 for a variable argument list function. A VarArgs parameter must be the
 last parameter in a function declaration.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isVarArgsParameter(com.google.javascript.rhino.Node)">isVarArgsParameter</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isVarArgsParameter(com.google.javascript.rhino.Node)">isVarArgsParameter</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>parameter</code> - The parameter's node.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the parameter should be treated as a variable
 length parameter.</dd></dl>
</li>
</ul>
<a name="isExported(java.lang.String, boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isExported</h4>
<pre>public&nbsp;boolean&nbsp;isExported(java.lang.String&nbsp;name,
                 boolean&nbsp;local)</pre>
<div class="block">Checks whether a global variable or function name should be treated as
 exported, or externally referenceable.

 <p>In Google code, any global name starting with an underscore is
 considered exported.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isExported(java.lang.String, boolean)">isExported</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isExported(java.lang.String, boolean)">isExported</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - A global variable or function name.</dd><dd><code>local</code> - <code>true</code> if the name is a local variable.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the name should be considered exported.</dd></dl>
</li>
</ul>
<a name="isPrivate(java.lang.String)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isPrivate</h4>
<pre>public&nbsp;boolean&nbsp;isPrivate(java.lang.String&nbsp;name)</pre>
<div class="block">Checks whether a name should be considered private. Private global
 variables and functions can only be referenced within the source file in
 which they are declared. Private properties and methods should only be
 accessed by the class that defines them.

 <p>In Google code, private names end with an underscore, and exported
 names are never considered private (see <a href="../../../../com/google/javascript/jscomp/GoogleCodingConvention.html#isExported(java.lang.String, boolean)"><code>isExported(java.lang.String, boolean)</code></a>).</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html#isPrivate(java.lang.String)">isPrivate</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConvention.html" title="interface in com.google.javascript.jscomp">CodingConvention</a></code></dd>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html#isPrivate(java.lang.String)">isPrivate</a></code>&nbsp;in class&nbsp;<code><a href="../../../../com/google/javascript/jscomp/CodingConventions.Proxy.html" title="class in com.google.javascript.jscomp">CodingConventions.Proxy</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - The name of a global variable or function, or a method or
     property.</dd>
<dt><span class="strong">Returns:</span></dt><dd><code>true</code> if the name should be considered private.</dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../com/google/javascript/jscomp/FunctionInformationMapOrBuilder.html" title="interface in com.google.javascript.jscomp"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../com/google/javascript/jscomp/GoogleJsMessageIdGenerator.html" title="class in com.google.javascript.jscomp"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?com/google/javascript/jscomp/GoogleCodingConvention.html" target="_top">Frames</a></li>
<li><a href="GoogleCodingConvention.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_com.google.javascript.jscomp.CodingConventions.Proxy">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
